package ldh.im.base.dao;

import java.util.List;

import ldh.im.base.pojo.ImMessage;
import ldh.im.base.pojo.where.ImMessageWhere;
import org.apache.ibatis.annotations.Param;

/**
* @author: ldh
* @date: 2024-03-21 10:36:17
*/
public interface ImMessageDao {

	Integer insert(ImMessage imMessage);

	Integer insertSelective(ImMessage imMessage);

	Integer updateById(ImMessage imMessage);
	
	Integer updateNotNullById(ImMessage imMessage);
	
	Integer deleteById(Long id);

	Integer updateByFromUserIdAndClientId(ImMessage imMessage);
	
	Integer updateNotNullByFromUserIdAndClientId(ImMessage imMessage);
	
	Integer deleteByFromUserIdAndClientId(@Param("fromUserId") String fromUserId, @Param("clientId") String clientId);

	ImMessage getById(Long id);

	ImMessage getByFromUserIdAndClientId(@Param("fromUserId") String fromUserId, @Param("clientId") String clientId);

	List<ImMessage> findByImMessageWhere(ImMessageWhere imMessageWhere);
	
	Long findTotalByImMessageWhere(ImMessageWhere imMessageWhere);
	
	
}
